package com.qijian.business.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.qijian.common.enums.ApprovalDescriptionEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qijian.common.annotation.Excel;
import com.qijian.common.core.domain.BaseEntity;

/**
 * 报工工资对象 production_detail_salary
 *
 * @author qijian
 * @date 2025-03-29
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ToString
@TableName("production_detail_salary")
public class ProductionDetailSalary extends BaseEntity{
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "id")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long id;

    @Excel(name = "报工表id")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "报工表id")
    private Long productionDetailId;

    @Excel(name = "报工人ID")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "报工人ID")
    private Long userId;

    @Excel(name = "报工人")
    @ApiModelProperty(value = "报工人")
    private String userName;

    @Excel(name = "报工人工资")
    @ApiModelProperty(value = "报工人工资")
    private BigDecimal userSalary;

    @Excel(name = "报工时定额")
    @ApiModelProperty(value = "报工时定额")
    private BigDecimal curWorkCost;

    @Excel(name = "完工数量")
    @ApiModelProperty(value = "完工数量")
    private BigDecimal finishQty;

    @Excel(name = "不合格数量")
    @ApiModelProperty(value = "不合格数量")
    private BigDecimal badNumber;

    @Excel(name = "班组长确认")
    @ApiModelProperty(value = "班组长确认")
    private Boolean teamLeaderCheck;

    @Excel(name = "班组长确认时间")
    @ApiModelProperty(value = "班组长确认时间")
    private Date checkTime;

    @Excel(name = "工序id")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "工序id")
    private Long fmProcessId;

    @Excel(name = "工序名称")
    @ApiModelProperty(value = "工序名称")
    private String processName;

    @Excel(name = "工序排序")
    @ApiModelProperty(value = "工序排序")
    private Integer sort;

    @Excel(name = "备注")
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     * 班组长确认数量
     */
    private BigDecimal checkQty;

    @JsonSerialize(using= ToStringSerializer.class)
    private Long checkUserId;

    private String checkUsername;

}
